#ifndef SL_ANIMATIONMANAGER_HPP
#define SL_ANIMATIONMANAGER_HPP

// SFML Header
#include <SFML/Graphics.hpp>

// Eigene Header
#include "../System/Lua.hpp"
#include "ManagerTemplate.hpp"
#include "../Graphics/Animation.hpp"

namespace sl
{
	namespace tmp
	{
		class AnimationManagerS : public Singleton<AnimationManagerS>, public ManagerPointer<Animation>
		{
		friend class Singleton<AnimationManagerS>;
		friend class ManagerPointer<Animation>;
		public:
			using Singleton<AnimationManagerS>::myInstance;

			static AnimationManagerS* GetInstance()
			{
				if (!myInstance)
					myInstance = new AnimationManagerS();

				return myInstance;
			}

			AnimationManagerS* Update(float time);
			AnimationManagerS* Draw(sf::RenderTarget* render);
		};
	}

	#define AnimationManager tmp::AnimationManagerS::GetInstance()
}

#endif //SL_ANIMATIONMANAGER_HPP